﻿using System.Collections.Generic;
using ActivateYourGlutes.Services.Model;

namespace ActivateYourGlutes.Payloads.Body
{
    public class BodyEditorPayload
    {
        public enum EditModeEnum
        {
            Create,
            Edit
        } ;

        public UserLocaleSettings LocaleSettings { get; private set; }

        public EditModeEnum EditMode { get; private set; }

        public IEnumerable<MeasurementType> MeasurementTypes { get; private set; }

        public Services.Model.Body Body { get; private set; }

        public Services.Model.Body PreviousBody { get; private set; }

        public BodyEditorPayload(
            UserLocaleSettings settings,
            EditModeEnum editMode,
            IEnumerable<MeasurementType> measurementTypes,
            Services.Model.Body body) : this(settings, editMode, measurementTypes, body, null)
        {
            
        }

        public BodyEditorPayload(
            UserLocaleSettings settings,
            EditModeEnum editMode,
            IEnumerable<MeasurementType> measurementTypes,
            Services.Model.Body body,
            Services.Model.Body previousBody)
        {
            LocaleSettings = settings;
            EditMode = editMode;
            MeasurementTypes = measurementTypes;
            Body = body;
            PreviousBody = previousBody;
        }
    }
}